#pragma once
#include <array>

class LunarConstants
{
public:
    // 中文数字;
    static constexpr std::array<const char *, 11> CnNumbers         = {{"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"}};
    // 地支;
    static constexpr std::array<const char *, 12> CnEarthlyBranches = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
    // 天干;
    static constexpr std::array<const char *, 10> CnHeavenlyStems   = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};
    // 生肖;
    static constexpr std::array<const char *, 12> CnZodiacs         = {"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"};
    // 星座;
    static constexpr std::array<const char *, 12> CnStarSigns       = {
        "摩羯", "水瓶", "双鱼", "白羊", "金牛", "双子", "巨蟹", "狮子", "处女", "天秤", "天蝎", "射手"};

    // 节气;
    static constexpr std::array<const char *, 24> CnSolarTermsNames{"冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明",
                                                                    "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋",
                                                                    "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪"};
    // ymc月名称,建寅;
    static constexpr std::array<const char *, 12> CnMonthNames = {"冬", "腊", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"};
    // 日名称;
    static constexpr std::array<const char *, 31> CnDayNames = {"初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一",
                                                                "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二",
                                                                "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"};
    // 月相名称表;
    static constexpr std::array<const char *, 4> CnMoonPhases = {"朔", "上弦", "望", "下弦"};

};